#!/bin/bash

# 定义颜色代码
GREEN='\033[1;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # 恢复默认颜色

echo -e "${GREEN}
########################################
#   Kubernetes Master 部署总控脚本     #
########################################
${NC}"

# 验证执行权限
if [[ $EUID -ne 0 ]]; then
   echo -e "${YELLOW}[警告] 必须使用root用户执行本脚本${NC}" 
   exit 1
fi

# 定义执行函数
function run_step() {
    echo -e "\n${GREEN}[步骤 $1/$2] 正在执行: $3...${NC}"
    ./sub_scripts/$4
    echo -e "\n${YELLOW}--------------------------------------"
    echo -e "[完成] $5"
    echo -e "下一步操作: $6"
    echo -e "--------------------------------------${NC}"
    read -p "按 Enter 继续执行下一步..."
}

# 按顺序执行各步骤
run_step 1 7 "禁用安全组件"    disable_security_services.sh    "SELinux/firewalld/swap已关闭"   "更换软件源 →"
run_step 2 7 "更换YUM源"      rocky_replace_ali_yum.sh        "阿里云源配置完成"              "安装容器运行时 →"
run_step 3 7 "安装容器运行时"  containerd_install_config.sh    "containerd已就绪"             "配置内核网络参数 →"
run_step 4 7 "网络预配置"     network_config.sh               "网络参数已加载"               "安装kube组件 →"
run_step 5 7 "安装K8s组件"    install_kube.sh                 "kubeadm/kubelet已安装"        "集群初始化 →"
run_step 6 7 "初始化集群"     kubeadm_init.sh                 "控制平面已启动"               "安装CNI插件 →"
run_step 7 7 "安装Flannel"    install_flannel.sh              "Pod网络已配置"                "最终验证 →"

# 最终验证提示
echo -e "${GREEN}
########################################
#           所有组件部署完成!          #
########################################
${YELLOW}
请执行以下命令验证集群状态：
  kubectl cluster-info
  kubectl get nodes -o wide
  kubectl get pods -n kube-system

注意：Worker节点需使用kubeadm join加入集群
${NC}"

